package de.g18.gruppe3.gui.controller;

import java.util.List;
import de.g18.gruppe3.common.exception.SQLServiceException;
import de.g18.gruppe3.common.model.User;
import de.g18.gruppe3.dataio.service.provider.DataIOServiceProvider;

public class UserController {
	
	/**
	 * UserController Klasse
	 * Stellt die Schnittstelle zwischen dem DataIOServiceProvider dar.
	 * Wird durch den UMViewController instanziert.
	 *
	 * @author <a href="madmakro@gmx.net">Jan Schwart</a>
	 */
	
    private static final DataIOServiceProvider userDataIOServiceProvider = DataIOServiceProvider.getInstance();
	
	public UserController() {
	}
	
	// Methode um Benutzer mittels des CSVExportService anzulegen
	// Parameter: user -> ein Objekt vom Typ User, filePath -> Der Pfad zur Datei zu welcher hinzugefügt wird
	public void AddUserToFile(User user, String filePath) {
		List<User> vorhandeneUser = userDataIOServiceProvider.getCSVImportService().importUserCSV(filePath, ";");
		vorhandeneUser.add(user);
		userDataIOServiceProvider.getCSVExportService().toCSVExport(filePath, vorhandeneUser);
	}
	
	// Methode um Benutzer mittels des SQLExportService anzulegen
	// Parameter: url -> Adresse des SQL-Servers
	//	          login -> Loginname zum einloggen auf der SQL Datenbank
	//            password -> Passwort zum einloggen auf der SQL Datenbank
	//            user -> ein Objekt vom Typ User
	public void AddUserToSql(String url, String login, String password, User user) throws SQLServiceException {
		userDataIOServiceProvider.getSQLExportService().exportUserSQL(url, login, password, user);
	}
}
